package com.pushtime.config;

import java.util.HashMap;
import java.util.Map;

/**
 * 程序中使用的不可配置常量
 */
public final class Constants {
    /**
     * 正则表达式
     */
    public static final String REGIX = "\\{\\{[^}]+}}";
    /**
     * 分隔符
     */
    public static final String SPLIT = "/";
    public static final String DOT = ".";
    /**
     * 生成器常量配置
     */
    public static final String JAVA_PATH = "src/main/java";       // java 代码位置
    public static final String YORC_PATH = ".yo-rc.json";       // yeoman 文件位置
    public static final String GENERATE_DIR = "extra";    // 生成文件夹
    public static final String TEMPLATE_DIR = "templates";   // 模板文件夹
    public static final String JHIPSTER_DIR = ".jhipster";    // jhipster 提供的 json 文件夹
    public static final String JSON_FILE = ".json";         // jhipster 提供的生成器后缀（用于过滤，可为空字符串）
    public static final String GENERATE_SUFFIX = "Extra";  // 生成文件后缀
    public static final String JAVA_SUFFIX = "java";                // java 文件名后缀
    public static final String TEMPLATE_SUFFIX = "ptl";  // 模板后缀[pushtime template 缩写]
    /**
     * 生成路径相关
     */
    public static final Map<String, String> paths = new HashMap<String, String>() {
        {
            put("service", "Service");
            put("service.impl", "ServiceImpl");
            put("repository", "Repository");
            put("web.rest", "Resource");
        }
    };

    private Constants() {
    }
}
